home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / glibc108.zip / glibc108 / posix / sys / types.h < prev    next >
C/C++ Source or Header  |  1994-02-06  |  3KB  |  109 lines

  1. /* Copyright (C) 1991, 1992, 1994 Free Software Foundation, Inc.
  2. This file is part of the GNU C Library.
  3.  
  4. The GNU C Library is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU Library General Public License as
  6. published by the Free Software Foundation; either version 2 of the
  7. License, or (at your option) any later version.
  8.  
  9. The GNU C Library is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12. Library General Public License for more details.
  13.  
  14. You should have received a copy of the GNU Library General Public
  15. License along with the GNU C Library; see the file COPYING.LIB.  If
  16. not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave,
  17. Cambridge, MA 02139, USA.  */
  18.  
  19. /*
  20.  *    POSIX Standard: 2.6 Primitive System Data Types    <sys/types.h>
  21.  */
  22.  
  23. #ifndef    _SYS_TYPES_H
  24.  
  25. #define    _SYS_TYPES_H    1
  26. #include <features.h>
  27.  
  28. __BEGIN_DECLS
  29.  
  30. #include <gnu/types.h>
  31.  
  32. #ifdef    __USE_BSD
  33. #define u_char __u_char
  34. #define u_short __u_short
  35. #define u_int __u_int
  36. #define u_long __u_long
  37. #define quad __quad
  38. #define u_quad __u_quad
  39. #define    fsid_t __fsid_t
  40. #endif
  41.  
  42. #define dev_t __dev_t
  43. #define gid_t __gid_t
  44. #define ino_t __ino_t
  45. #define mode_t __mode_t
  46. #define nlink_t __nlink_t
  47. #define off_t __off_t
  48. #define pid_t __pid_t
  49. #define uid_t __uid_t
  50. #ifndef    ssize_t
  51. #define    ssize_t    __ssize_t
  52. #endif
  53.  
  54. #ifdef    __USE_BSD
  55. #define daddr_t __daddr_t
  56. #define caddr_t __caddr_t
  57. #endif
  58.  
  59. #define    __need_time_t
  60. #include <time.h>
  61.  
  62. #define    __need_size_t
  63. #include <stddef.h>
  64.  
  65. #ifdef __USE_BSD
  66. /* These size-specific names are used by some of the inet code.  */
  67.  
  68. typedef    int int32_t;
  69. typedef    short int int16_t;
  70. typedef    char int8_t;
  71. typedef    unsigned int u_int32_t;
  72. typedef    unsigned short int u_int16_t;
  73. typedef    unsigned char u_int8_t;
  74. #endif
  75.  
  76.  
  77. #ifdef    __USE_BSD
  78.  
  79. #define    FD_SETSIZE    __FD_SETSIZE
  80. #define    NFDBITS        __NFDBITS
  81. #define    fd_set        __fd_set
  82. #define    FD_ZERO(set)    __FD_ZERO(set)
  83. #define    FD_SET(d, set)    __FD_SET((d), (set))
  84. #define    FD_CLR(d, set)    __FD_CLR((d), (set))
  85. #define    FD_ISSET(d, set)__FD_ISSET((d), (set))
  86.  
  87. /* This being here makes the `select' prototype valid whether or not
  88.    we have already included <sys/time.h> to define `struct timeval'.  */
  89. struct timeval;
  90.  
  91. /* Check the first NFDS descriptors each in READFDS (if not NULL) for read
  92.    readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS
  93.    (if not NULL) for exceptional conditions.  If TIMEOUT is not NULL, time out
  94.    after waiting the interval specified therein.  Returns the number of ready
  95.    descriptors, or -1 for errors.  */
  96. extern int __select __P ((int __nfds, __fd_set *__readfds,
  97.               __fd_set *__writefds, __fd_set *__exceptfds,
  98.               struct timeval *__timeout));
  99. extern int select __P ((int __nfds, __fd_set *__readfds,
  100.             __fd_set *__writefds, __fd_set *__exceptfds,
  101.             struct timeval *__timeout));
  102.  
  103. #endif /* Use BSD.  */
  104.  
  105.  
  106. __END_DECLS
  107.  
  108. #endif /* sys/types.h */
  109.